# 编写一个  程序，实现一个简单的学生成绩管理系统。系统需要支持以下功能：
# 添加学生及其成绩。
# 删除学生及其成绩。
# 查询某个学生的成绩。
# 查询某个学生某一门课的成绩。
# 查询所有学生的成绩，按成绩总分从高到低排序
# 存储格式为 {姓名：{科目名:分数}}，示例如下：
#{"王五":{"语文":89,"数学":80,"化学":91,"体育":99},"王武":{"语文":119,"数学":60,"化学":71,"体育":69}}
if __name__ == '__main__':
StudentGradeManagementSystem:

    def add_student(self, name, subjects):

        if name in self.data:
            print(f"学生 ：{name}")
        self.data[name] = subjects
        self.save_data()
        print(f"学生 {name} 的成绩已添加。")

    def delete_student(self, name):

        if name in self.data:
            del self.data[name]
            self.save_data()
            print(f"学生 {name} 的成绩已删除。")

    def student_all(self, name):

        if name in self.data:
            print(f"{name} 的各科成绩如下：")
            for subject, grade in self.data[name].items():
                print(f"{subject}: {grade}")
            total = sum(self.data[name].values())
            print(f"总分: {total}")

    def student_subject(self, name, subject):

        if name in self.data:
            if subject in self.data[name]:
                print(f"{name} 的 {subject} 成绩是: {self.data[name][subject]}")


        students_with_total = []
        for name, subjects in self.data.items():
            total = sum(subjects.values())
            students_with_total.append((name, subjects, total))


        sorted_students = sorted(students_with_total, key=lambda x: x[2], reverse=True)

        print("所有学生成绩（按总分从高到低排序）：")
        print("-" * 40)
        for idx, (name, subjects, total) in enumerate(sorted_students, 1):
            print(f"{idx}. {name}")
            for subject, grade in subjects.items():
                print(f"   {subject}: {grade}")
            print(f"   总分: {total}")
            print("-" * 40)

    def show_menu(self):
        print("\n学生成绩管理系统")
        print("1. 添加学生及其成绩")
        print("2. 删除学生及其成绩")
        print("3. 查询某个学生的所有成绩")
        print("4. 查询某个学生某一门课的成绩")
        print("5. 查询所有学生的成绩（按总分排序）")
        print("6. 退出系统")

    